In order to configure a network, a network administrator may specify a declarative requirement of a desired network configuration. For example, the network administrator may specify a declarative requirement of what the final network configuration should be rather than the mechanics of how to accomplish the network configuration. Often these declarative requirements must include very specific types of requirements specific to a particular type of network architecture to be created. However, in many instances, the network administrator may desire flexibility in being able to utilize different network architectures for desired requirements of a service to be provided. For example, rather than limiting a user to a single type of network architecture that has been preconfigured to be able to be implemented, the user may desire to easily change to and implement a new/different network architecture to provide the service of the requirements. Therefore, there exists a need for a more flexible way to specify an intent of a desired service.